//@author Y. Laenen  C1011950  11/12/13

package core.logic.services.updateServices;

import core.logic.dataAccess.AdresDAO;
import core.logic.dataAccess.PassagierDAO;
import core.logic.dataAccess.PersoonDAO;
import core.models.dataModels.createModels.ToevoegenBetalingsGegModel;
import core.models.dataModels.createModels.ToevoegenBookingPersGegModel;
import core.models.domainModel.Adres;
import core.models.domainModel.Passagier;



public class UpdatePassagierService {
	
	//extra methode om het object passagier uit de search volledig op te vullen
	public static Passagier GetFullPassagier(Passagier p)
	{
		Passagier b = PassagierDAO.getPassagierById(p.getPassagierId());
		return b;
	}
	
	
	public static void fillModel(ToevoegenBookingPersGegModel model ,Passagier passagier)
	{
		model.setBus(passagier.getPersoon().getAdres().getBus());
		model.setGeboortedatum(passagier.getPersoon().getGeboortedatum());
		model.setGemeente(passagier.getPersoon().getAdres().getGemeente());
		model.setIdentiteitskaartNr(passagier.getPaspoortNr());
		model.setNaam(passagier.getPersoon().getNaam());
		model.setNationaliteit(passagier.getPersoon().getAdres().getLand());
		model.setVoornaam(passagier.getPersoon().getVoornaam());
		model.setStraat(passagier.getPersoon().getAdres().getStraat());
		
		model.setPassagier(passagier);
		
		
	}
	
	public static void fillBetalingsModel(ToevoegenBetalingsGegModel modelBetaling, Passagier p)
	{
		modelBetaling.setCvsCode(p.getControleCijfer());
		modelBetaling.setKaartNummer(p.getKaartnummer());
		modelBetaling.setKaartType(p.getKaartType());
		modelBetaling.setVervalDatum(p.getVervaldatumKaart());
		modelBetaling.setPassagier(p);
	}
	
	public static void updatePassagier(ToevoegenBookingPersGegModel model)
	{
		//passagier updaten
		PassagierDAO.updatePassagier(model.getPassagier());
		//persoon updaten
		PersoonDAO.updatePersoon(model.getPassagier().getPersoon());
		//adres updaten		
		Adres a = model.getPassagier().getPersoon().getAdres();
		AdresDAO.updateAdres(a.get_adresId(), a.getStraat(), a.getHuisnummer(), a.getBus(), a.getGemeente(), a.getPostcode(), a.getStaatProvincie(), a.getLand());
		
	}


}
